﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Zocono.WCS.Domain.EntityInfo;

namespace Zocono.WCS.Domain.DomainRepository
{
    public interface IRoleFunctionRepository : IRepository<RoleFunctionInfo>
    {
        Task<List<RoleFunctionInfo>> GetRoleFunctionInfoTreeAsync(long roleID);

        Task<List<RoleFunctionInfoAllShow>> GetRoleFunctionInfoAllTreeAsync(long roleID);

        Task<List<RoleFunctionInfo>> GetAllRoleFunctionInfoTreeAsync(long roleID);

        /// <summary>
        /// 根据角色ID获取所有菜单列表
        /// </summary>
        /// <param name="roleID">角色ID</param>
        /// <returns></returns>
        Task<List<RoleFunctionPage>> GetRoleFunctionByRoleId(long roleID);
        /// <summary>
        /// 更新角色权限信息
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        Task<bool> UpdateRoleFunctionInfoByRoleIdAsync(List<RoleFunctionInfo> list);

    }
}
